The present invention relates to a financial transaction processing system, and in particular, to such a system that is capable of decomposing transactions into subtransactions and multi-processing subtransactions simultaneously.
Computerized data processing systems for processing financial transactions have become increasingly more complex as further strides toward automation have occurred. Such complexity has generated a number of related difficulties for the financial data processing industry. In particular, complex financial transaction processing systems may have subtle programming defects or errors that may go unnoticed for long periods of time before the extent of the problems thereby generated are fully recognized. For example, the number of positions allotted for the dating of transactions has recently been problematic, wherein the dates for the millennium starting at the year 2000 can be problematic for many financial transaction processing systems.
In addition, such complex financial transaction processing systems also are typically incapable of being fully audited. That is, it is common practice in the financial data processing industry to provide only partial auditability in that it is generally believed that the amount of data required to be stored for full auditability is so large as to not be cost effective.
Further, in many circumstances, the rate of transaction increase is becoming problematic in that progressively larger computers are required for processing financial transactions at an acceptable rate. This problem is exacerbated by the fact that such transaction processing system are not architected for use on multi-processing machines having a plurality of processors. Thus, the advantages of parallel-processing computers cannot be fully utilized by such systems.
Accordingly, it would be advantageous to have a financial transaction processing system that alleviates the above difficulties, and that additionally, provides flexibility to adapt to the changing business needs of business enterprises so that the transactions processed and the respective reports generated may be modified easily according to business constraints and demands.
The present invention is a financial transaction processing system that achieves substantial increases in auditability and processing efficiency. In particular, the present invention provides auditable trails or history in a number of different ways. For example, financial data within transactions is used in the present invention to update various control fields in different tables or files so that cross-checks of system financial integrity can be performed for assuring that, for example, cash fields, total units fields, and cost fields balance appropriately across system data tables provided by the present invention. Additionally, the present invention provides a full range of auditable history files for each system data table having information that is required during auditing.
The present invention also performs financial transaction processing using a novel computational paradigm. That is, the financial transaction processing system of the present invention has an architecture wherein financial transactions can be decomposed into corresponding collections of independent subtransactions, such that for each input transaction, the corresponding collection of subtransactions are performed by operations that are independent of one another. Thus, the subtransactions can be performed in any order, including in an overlapping fashion, such as may occur during multiprocessing of these subtransactions on a computer having multiple processors.
Further, note that each of the subtransaction is described by a relatively short (e.g., less than 8 characters) text string that can be straightforwardly interpreted as an operation (e.g., either plus or minus) together with a series of operands, in particular, a first operand having a value to be used in modifying a data table field (column) specified by a second operand. Such high level descriptions of subtransactions provide both compact conceptualization and a reduction in the total size of the executable code for the present invention. Accordingly, when one of the subtransactions is performed, not only is its corresponding operation performed on the operands but additionally, control fields such as those mentioned above are updated appropriately in various data tables for the present invention to enhance auditability of the financial data resulting from the transaction processing. Further, note that since the subtransactions are independent of one another and their executable code is relatively small, there is no need for lengthy and complex flow of control transaction processing modules. That is, the size of the code for the present invention may be up to 100 times smaller than many prior art transaction processing systems. Accordingly, this has a substantial positive impact on the efficiency of the present invention in that the swapping of program elements in and out of primary computer memory is substantially reduced.
In another aspect of the present invention, the financial transactions of a plurality of business enterprises can be processed in an interleaved manner. In particular, since the present invention is substantially data driven, including the descriptions of the transactions and their related subtransactions, the present invention can be easily modified to incorporate both different or updated versions of transact ions and associated data tables for an existing business enterprise (e.g., also denoted xe2x80x9clicenseexe2x80x9d hereinafter). Additionally, the transactions and related data tables for an entirely new or different business enterprise (licensee) may be straightforwardly incorporated into the present invention so that its transactions can be interleaved with the transactions of other business enterprises. Thus, transaction processing may be performed by the present invention for business enterprises having different transactions, different account record structures and differently organized general ledgers substantially without modifying the program elements of the transaction processing system.
For example, the present invention can be used to simultaneously process transactions for:
(1) a single software application such as an investment management or telecommunications billing system,
(2) multiple disparate software applications such as investment management, and telecommunications billing, paying agencies, etc., all with disparate definitions.
Accordingly, the present invention may be viewed as a software engine, or a user-definable transaction processing tool that can be adapted to a variety of industry specific software application needs without changing the actual program code. That is, by surrounding the present invention with application specific software for inputting transaction data to the multi-processing financial transaction processor of the present invention and retrieving data from the multi-processing financial transaction processor of the present invention, a particular business enterprise can have substantially all of its financial records in condition for auditing on a daily or weekly basis.
The present invention may be further characterized along the following dimensions: flexibility, auditability, multiprocessing, efficiency and size, these dimensions being discussed, in turn, hereinbelow.
Flexibility is achieved by permitting a business enterprise to define:
(1) a series of xe2x80x9creferencexe2x80x9d tables (also denoted xe2x80x9cmaster tablesxe2x80x9d) that describe the appropriate management decision-making, accounting structure, and regulatory information for the specific application;
(2) a series of audit controls and system procedures that provide for complete control of all processing and prevent the overwriting of any original data;
(3) a series of institutional and customer reporting files, known as the xe2x80x9cdrivenxe2x80x9d tables; and
(4) the specific processing content of each individual transaction to be processed via a series of table definitions, known as the xe2x80x9cdrivingxe2x80x9d tables.
Thus, transactions may be customized according to the business needs of a business enterprise.
Auditability is achieved by;
(1) providing separate control columns for cash, units and cost basis (if any) in detail records generated and stored for each financial transaction;
(2) repeating these three control columns, or variations thereof, in at least three different tables so that subsequent summations of each of the four tables will result in similar balances and thus prove that no critical data has been lost in the course of processing, as one familiar with auditing and financial transactions systems will understand;
(3) adding appropriate data columns:
(a) to each reference table or master row for maintaining a history of the effects of add, change and delete commands in a current database as well as an archive database;
(b) to each original file record (i.e. table row) that represents an add to a current database as well as the periodic archive and purge to a permanent database;
(c) to tables for retaining transaction processing data representing error identification, error negation and error correction.
Thus, auditabilty of transaction records is achieved by four sets of files for a specific period. These are: (a) a snapshot of all the reference files at the end of the period;
(b) snapshots of a history file for each master table, wherein the corresponding history file (table) contains all changes to the master table during the specific period; (c) a snapshot of all financial transactions for the specific period, and (d) a snapshot of all of the xe2x80x9cdrivenxe2x80x9d tables at the end of the period.
Multiprocessing is achieved by:
(1) decomposing the processing of the present invention into a series of separate and independent subprocesses that may be simultaneously performed on any number of simultaneous processors, and
(2) decomposing input transactions into a series of subtransactions that are processed by independent processes, which may be executed in any particular order, with complete auditability.
For example, multiprocessing can be achieved by allocating the next prescribed subtransaction process to the next available processor.
Efficiency is achieved by:
(1) Defining and utilizing only four standard processing models that perform all prescribed functionality and auditability of the present invention. The models are:
(a) Processing Model 1 provides an architecture for maintaining historical transaction data so that financial changes can be traced through time;
(b) Processing Model 2 provides an architecture for automatically maintaining data columns such as Units, Debits and Credits for cross checking table sums to assure that the financial records for a business enterprise balance;
(c) Processing Model 3 provides an architecture for automatically maintaining financial records relating to financial instruments such as stocks, bonds, real estate, etc.; and
(d) Processing Model 4 provides an architecture for producing a common processing format for maintaining customer and institutional data tables.
(2) Defining only four primary program modules for controlling functionality of the present invention, these modules being:
(a) a transaction processing controller module for receiving transactions to be processed, and controlling the processing thereof;
(b) a preprocessor and decomposer module for determining the validity of a received transaction, assuring that all data tables and rows thereof are available for processing the transaction, and retrieving the appropriate subtransactions data descriptions to be processed;
(c) a subtransaction scheduling module for scheduling instantiations of the subtransaction processing module on each of one or more processors; and
(d) a subtransaction processing module for performing each subtransaction retrieved by the preprocess or and decomposer module.
(3) Utilizing a number of software switches to control which tables within collection of xe2x80x9cdrivenxe2x80x9dtables are to be updated when a specific type of transaction is to be processed.
Thus, by providing a small number of processing models, decomposing input transactions, and supplying only the necessary subtransaction descriptions, the reliability of the transaction processing system of the present invention is substantially increased.
The software for the present invention is small in size (both source code and object code) due to the following:
(1) defining business enterprise financial data processing methods, accounting structures, and regulatory definitions as data rather than program code;
(2) reducing the processing content to a series of individual transactions; and
(3) reducing all financial transactions to a collection of subtransactions wherein each subtransaction includes an operator and two or more operands in an 8-character string.
Thus, the financial processing by the present invention may be performed on several transactions at a time, one transaction at a time, or different processors within a multiprocessor context. Or, the subtransactions for a specific transaction may be spread over several simultaneous processors This means that the business enterprise is afforded a large number of options in tailoring the present invention.
Hence, by defining the accounting structure and processing functionality as data rather than actual program code, the size of the total code required to process a specific industry application may be substantially reduced compared to prior art transaction processing systems. For example, the executable code for the present invention may be less than one megabyte (1 MB). Thus, since the secondary cache attached to each processor in multiprocessing personal computer servers can be one megabyte, substantially the entire executable for the present invention can be provided to each processor. Thus, the positive impact on total system efficiency is believed to be substantial in that secondary cache is typically about four times faster than normal cache, so productivity gains of about three-hundred percent would not be unreasonable. In other words, the executable code for the present invention can reside in the secondary cache of each processor, thereby allowing the off-loading of any processing function to any processor with relative ease. Additionally, given that a typical RAM memory for a personal computing devices is 16 megabytes, it is believed that such a device will have the capability to process the back office financial transactions of a major money center financial institution or communications billing system.
Additional features and benefits of the invention will become evident from the detailed description and the accompanying drawings contained herein.